'use strict';

module.exports = appInfo => {
    const config = exports = {};

    // use for cookie sign key, should change to your own and keep security
    config.keys = appInfo.name + '_1546431784236_3564';

    // 配置session
    config.session = {
        key: 'SESSION_ID',  // key
        maxAge: 1000*60*60,     // 最大有效时间
        httpOnly: true,     // 只有服务器端可以访问
        encrypt: true,      // 加密
        renew: true         // 访问后刷新最大有效时间
    };

    config.uploadDir = 'app/public/admin/upload/';

    config.jwt = {
        secret: '1234567',
        enable: true, // default is false
        match: '/jwt', // optional
    }
    
    // add your config here
    config.middleware = ['adminauth'];

    config.adminauth = {
        match: '/admin'
    };

    // 配置ejs 模版
    config.view = {
        mapping: {
            '.html': 'ejs'
        }
    };

    // 上传文件限制
    config.multipart = {
        whitelist: ['.png', '.jpg'],  // 覆盖整个白名单，只允许上传 '.png' 格式
        fields: '50',                 // 设置表单最大 field   默认小于10  必须配置
    }

    config.weapp = {
        // 微信小程序 App ID
        appId: 'wx0df782fb7ea01c96',
        // 微信小程序 App Secret
        appSecret: '15b95b39908bb9f1df188b2c91c76ea5',
        // 如果使用腾讯云的对象存储 请填写
    }

    // 配置mongose连接mongodb数据库
    exports.mongoose = {
        client: {
            url: 'mongodb://127.0.0.1/xiaomi',
            options: {}
        }
    }

    // 配置 CSRF 屏蔽
    exports.security = {
        csrf: {
            // 判断是否需要 ignore 的方法 请求上下文 context 作为第一个参数
            ignore: ctx => {
                if (ctx.request.url == '/admin/goods/goodsUploadImage' || '/admin/goods/goodsUploadPhoto') {
                    return true;
                }
                return false;
            }
        }
    }

    return config;
};
